// import { map, values } from "core-js/core/array";
import _ from 'lodash'
// import { post, get } from '@/http/axios'
export default {
  namespaced: true,
  state: {
    // 声明一个购物车
    orderLines:new Map()
    // let map = new Map()
    // 获取map集合的属性名
    //  map.key();
    // 获取map集合的属性值
    // map.set(key,value)
    // map.clear()
  },
//   订单总集合
  getters:{
    total(state){
        // 初始化价格
        let result = 0;
        // 相当于循环遍历每一条购物车里面的订单
        // order其实是for的key  
        for(let orderLine of state.orderLines.values()){
            result+=orderLine.price * orderLine.num
        }
        return result;
        
    }
  },
  mutations: {
    addShopCar(state,orderLine){
      // 往购物车里添加订单  set方法   (订单id， 订单数据)
      state.orderLines.set(orderLine.productId, orderLine)
      // 深度监听  引入第三方数据库
      //vue无法监听到购物车的变化
      state.orderLines=_.clone(state.orderLines) 

    },
    // 清空购物车
    clearShopCar(state){
      // 清空购物车里面的订单
      state.orderLines.clear();
      // 监听清空购物车的变化
      state.orderLines=_.clone(state.orderLines)
    },
    
  },
  actions: {

  }
}